package com.wl.wuliu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wl.wuliu.entity.*;
import com.wl.wuliu.result.AjaxResult;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @Author: gutaozhen
 * @Date: 2024/5/15
 */
public interface FinanceService extends IService<Finance> {

    /**
     * 列表查询
     * @param queryEntity
     * @return
     */
    List<FinanceResult> findList(QueryEntity queryEntity);

    /**
     * 保存财务信息
     * @param truckId
     * @return
     */
    void saveFinance(String truckId);

    /**
     * 修改财务信息
     * @param finance
     * @return
     */
    AjaxResult updateFinance(Finance finance);

    /**
     * 删除财务信息
     * @param id
     * @return
     */
    AjaxResult deleteFinance(String id);

    /**
     * 根据id查询财务信息
     * @param id
     * @return
     */
    FinanceResult getFinance(String id);

    /**
     * 统计总利润
     * @param startTime
     * @param endTime
     * @return
     */
    List<StatisticsResult> statisticsTotalProfit(String startTime, String endTime,String dateType);

    /**
     * 统计个人利润
     * @param startTime
     * @param endTime
     * @return
     */
    Map<String,Object> statisticsProfit(String startTime, String endTime,String dateType,String userId);

    /**
     * 导出
     * @param response
     */
    void export(QueryEntity queryEntity,HttpServletResponse response) throws IOException;
}
